package com.tensai.study.java.utils;

import java.io.File;

/**
 * @author Tensai
 */
public class FileUtils {

	/***
	 * 删除文件夹
	 *
	 * @param folderPath 文件夹完整绝对路径
	 * @return 结果
	 */
	public static boolean delFolder(String folderPath) {
		try {
			// 删除完里面所有内容
			delAllFile(folderPath);
			java.io.File myFilePath = new java.io.File(folderPath);
			// 删除空文件夹
			return myFilePath.delete();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}

	/***
	 * 删除指定文件夹下所有文件
	 *
	 * @param path 文件夹完整绝对路径
	 * @return 结果
	 */
	public static boolean delAllFile(String path) {
		boolean flag = false;
		File file = new File(path);
		if (!file.exists()) {
			return false;
		}
		if (!file.isDirectory()) {
			return false;
		}
		String[] tempList = file.list();
		File temp;
		assert tempList != null;
		for (String s : tempList) {
			if (path.endsWith(File.separator)) {
				temp = new File(path + s);
			} else {
				temp = new File(path + File.separator + s);
			}
			if (temp.isFile()) {
				flag = temp.delete();
			}
			if (temp.isDirectory()) {
				// 先删除文件夹里面的文件
				delAllFile(path + "/" + s);
				// 再删除空文件夹
				flag = delFolder(path + "/" + s);
			}
		}
		return flag;
	}
}
